<ResourceDictionary 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Style x:Key="myButton" TargetType="{x:Type Thumb}">
        <Setter Property="SnapsToDevicePixels" Value="True"/>
        <Setter Property="OverridesDefaultStyle" Value="True"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Thumb}">
                    <Grid Width="40" Height="40">
                        <!-- Background Layer -->
                        <Ellipse Fill="{TemplateBinding Background}"  Stroke="Black" StrokeThickness="1"/>
                        <Ellipse Stroke="Black" StrokeThickness="1" Width="30" Height="30" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="myButtonImage" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>

                <ControlTemplate TargetType="{x:Type Button}">
                    <Viewbox Height="20" Width="20">
                        <Grid Width="40" Height="40">
                            <Ellipse Fill="{TemplateBinding Background}"  Stroke="Black" StrokeThickness="1"/>
                            <Ellipse Stroke="Black" StrokeThickness="1" Width="30" Height="30" />
                        </Grid>
                    </Viewbox>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="myJoystick" TargetType="{x:Type Thumb}">
        <Setter Property="SnapsToDevicePixels" Value="True"/>
        <Setter Property="OverridesDefaultStyle" Value="True"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Thumb}">
                    <Canvas Width="80" Height="80">
                        <!-- Background Layer -->
                        <Rectangle Fill="LightGray" Width="80" Height="80" Stroke="Black" StrokeThickness="1" />
                        <Ellipse Fill="{TemplateBinding Background}"  Stroke="Black" StrokeThickness="1" Width="40" Height="40" Canvas.Left="20" Canvas.Top="20"/>
                        <Polygon Points="40,10 45,15 35,15" Stroke="Black" Fill="White" />
                        <Polygon Points="65,35 70,40 65,45" Stroke="Black" Fill="White" />
                        <Polygon Points="40,70 45,65 35,65" Stroke="Black" Fill="White" />
                        <Polygon Points="15,35 10,40 15,45" Stroke="Black" Fill="White" />
                    </Canvas>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="myJoystickImage" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Viewbox Height="20" Width="20">
                        <Canvas Width="80" Height="80">
                            <!-- Background Layer -->
                            <Rectangle Fill="LightGray" Width="80" Height="80" Stroke="Black" StrokeThickness="1" />
                            <Ellipse Fill="{TemplateBinding Background}"  Stroke="Black" StrokeThickness="1" Width="40" Height="40" Canvas.Left="20" Canvas.Top="20"/>
                            <Polygon Points="40,10 45,15 35,15" Stroke="Black" Fill="White" />
                            <Polygon Points="65,35 70,40 65,45" Stroke="Black" Fill="White" />
                            <Polygon Points="40,70 45,65 35,65" Stroke="Black" Fill="White" />
                            <Polygon Points="15,35 10,40 15,45" Stroke="Black" Fill="White" />
                        </Canvas>
                    </Viewbox>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <Style x:Key="myTrackball" TargetType="{x:Type Thumb}">
        <Setter Property="SnapsToDevicePixels" Value="True"/>
        <Setter Property="OverridesDefaultStyle" Value="True"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Thumb}">
                    <Grid Width="80" Height="80">
                        <!-- Background Layer -->
                        <Rectangle Fill="LightGray" Width="80" Height="80" Stroke="Black" StrokeThickness="1" />
                        <Ellipse Fill="{TemplateBinding Background}"  Stroke="Black" StrokeThickness="1" Width="65" Height="65"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="myTrackballImage" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>

                <ControlTemplate TargetType="{x:Type Button}">
                    <Viewbox Height="20" Width="20">
                        <Grid Width="80" Height="80">
                            <!-- Background Layer -->
                            <Rectangle Fill="LightGray" Width="80" Height="80" Stroke="Black" StrokeThickness="1" />
                            <Ellipse Fill="{TemplateBinding Background}"  Stroke="Black" StrokeThickness="1" Width="65" Height="65"/>
                        </Grid>
                    </Viewbox>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <GradientStopCollection x:Key="MyGlassGradientStopsResource">
        <GradientStop Color="WhiteSmoke" Offset="0.2" />
        <GradientStop Color="Transparent" Offset="0.4" />
        <GradientStop Color="WhiteSmoke" Offset="0.5" />
        <GradientStop Color="Transparent" Offset="0.75" />
        <GradientStop Color="WhiteSmoke" Offset="0.9" />
        <GradientStop Color="Transparent" Offset="1" />
    </GradientStopCollection>

    <LinearGradientBrush x:Key="MyGlassBrushResource" StartPoint="0,0" EndPoint="1,1" Opacity="0.75" 
           GradientStops="{StaticResource MyGlassGradientStopsResource}" />

    <LinearGradientBrush x:Key="MyGlassBrushResource2" StartPoint="0.5,0" EndPoint="0.5,1" >
        <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" Color="White" />
            <GradientStop Offset="1.0" Color="Gray" />
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>

    <LinearGradientBrush x:Key="backgroundGradient" StartPoint="0,0" EndPoint="0,1">
        <LinearGradientBrush.GradientStops>
            <GradientStop Color="DarkBlue" Offset="0"/>
            <GradientStop Color="Blue" Offset="1"/>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
</ResourceDictionary>